ShowTable of Contents
Introduction
The “classic” IBM® Sametime® Meeting Center product (that is, older versions of IBM Sametime Meetings) is based on IBM® Lotus® Domino®, with a major dependency on Java
TM applets loading for meetings. If a user’s system does not possess the compatible Java applets, Meetings will not be initiated or attended.
This limitation has been overcome in IBM Sametime Meeting Center 8.5.2. This product is based on IBM WebSphere® and Ajax, which is independent of Java applets for scheduling or attending the meetings, and has a persistent meeting room option as well. However, the latest version does not have the direct ability to “schedule” meetings due to the presence of the persistent (permanent) meeting room option.
To overcome these limitations, a “custom application” has been developed with an interface for performing scheduling / rescheduling / deleting actions for meetings.
Existing Sametime Meeting Service 8.5 limitations/concerns
The following are the existing Sametime Meeting Service 8.5 limitations/concerns:
- Unused persistent meeting rooms. Currently, the meeting is created on the WebSphere- based Sametime Meeting Server, using persistence rooms that are available to users all the time.
- Inability to reuse persistent meeting rooms for multiple meetings due to common password. There is no option provided for resetting the password for the persistent meeting rooms, once an instance of an active meeting is over. For example, after a meeting with Customer A is over, if the owner schedules the meeting with Customer B using the same persistent meeting room, then Customer A can again join the same meeting with same password, posing major security threat.
- Absence of reschedule or repeat meeting. This option is unavailable in Sametime Meeting Server 8.5.
Application approach
Figure 1 illustrates the existing meeting process flow for the scheduling options available for users in Sametime Meeting Center 8.0.2.
Figure 1. Existing process flow in classic Sametime Meeting Server
Figure 2 illustrates the new meeting process flow with the “custom application” interface developed for providing the schedule/reschedule ability for booking meetings.
Figure 2. New process flow in Sametime Meeting Server 8.5 using “custom application”
The custom application interface is available to all users through various Web browsers. Users can schedule an online meeting by providing details such as Meeting name, description, password, start date, start time, duration, internal invitees, and external invitees and, once these details are submitted, the scheduled Notes-based agent (a program coded to achieve a particular task) will be triggered.
The agent saves the meeting and sends an email invite to all the invitees inclusive of the meeting details and ICS file (Microsoft® Calendar format file). By importing the ICS file, invitees can make an entry in their respective mailing calendar application.
The Sametime Meetings Remote Client Software Development Kits (SDK) is used to create meetings (meeting rooms) on a WebSphere-based Sametime Meeting Server one day prior to the meeting's scheduled date, and this scheduled agent sends another email with the Web URL to access the online meeting to all internal and external attendees.
Internal users can attend a meeting by entering their Sametime username and password, whereas external users enter their display name and use the meeting password contained in the email to authenticate and enter the meeting. Having external users enter a meeting password ensures that the external users are authenticated. The access provided to external users can be managed though policies on Sametime Meeting Server.
Table 1 summarizes the details of how the limitation/concerns stated in Section 1.1 are overcome with our application solution approach.
Table 1. Limitations and solutions
Limitation | Solution |
Unused persistent meeting rooms | Creation of rooms only on an “on-demand” basis and deletion of the same post 5 hours after the meeting end time. |
Inability to reuse persistent meeting rooms for multiple meetings due to common password | Persistent meeting rooms are created and deleted after each meeting; hence for every new meeting, a new meeting room with fresh log-in credentials is used. |
External participants' log-in authentication issues | A custom Log-in page is created to ensure internal users log in using Sametime credentials, and external users log in with the display name and defined password. |
Absence of reschedule or repeat meeting | Custom application allows option to “reschedule / repeat” meetings |
Application specifications
Key features of the application
Our custom application offers the following features in the meeting process flow:
- A new interface for performing scheduling/rescheduling/delete of meetings.
- Allows users access to the application through the Sametime native client as well as from a Web browser, Mobile, iPad, and BlackBerry Meeting Clients.
- Actual room creation is performed one day prior to the meeting date.
- Meeting rooms are deleted 5 hours after the meeting end time.
- Meeting can be scheduled for a maximum 12-hour duration.
- Attachments are uploaded before the start of the meeting.
- Repeat Meeting option provided for a maximum of 3 months and only with Weekly and Monthly options.
- The "Start the meeting now" option is provided in schedule meeting options.
- Calendar invitation file (.ics file) for a meeting is sent to all users to add the meeting in calendar, irrespective of the type of emailing client.
- The application solution scales to a large volume of users, with concurrent loading of multiple meetings.
- The solution is portable on various browsers without needing any download applets.
- The solution is compatible with various operating systems, desktop hardware platforms, and hand-held devices, enhancing its usability.
Application accessibility scenarios
The custom application is available to users through the Sametime Connect client as a plug-in, as well as from the Web. Internal users can access the custom application through:
- a Sametime Connect Client within an intranet
- the Web within an intranet
- a Sametime Connect Client from the Internet
- the Web from the Internet
External users can access the custom application from an external network via the Internet.
Application platform
We developed the Meeting Center Web application using the technologies / programming languages shown in table 2.
Table 2. Technologies and purposes
Development & product technology | Purpose |
Lotus Notes Designer 8.5.2 | Lotus Domino Designer is an Eclipse-based rapid application development tool for building collaborative Web 2.0 applications that run on Lotus Notes and Domino |
JavaScript | JavaScript is a prototype-based scripting language |
Domino XPages | Domino XPages is a rapid Web and mobile application development platform, allowing Lotus Notes data to be displayed to browser clients on all platforms. |
Sametime 8.5.2 Remote client SDK (used to develop JAVA API) | The Sametime Remote Client SDK package provides Java APIs for Meeting creation and management against the Sametime 8.5.2 Meetings Server. The SDK exposes services that mirror the capabilities of the Meeting Center, such as creating, editing, updating, and deleting meetings. |
Lotus Domino 8.5.2 | Lotus Domino 8.5.2 is used to schedule the agents & host a Web page. |
Sametime Meeting server 8.5.2 | Provides WebSphere-based Meeting services. |
Application architecture
Figure 3 illustrates the general application architecture.
Figure 3. General application architecture diagram
where:
•
Load Balancer is an intelligent device that performs the source-based routing. User requests are received on the device and the user network-connection load is balanced accordingly among the multiple Meeting servers by a round-robin method.
•
IBM Lotus Sametime Proxy acts as a frontend Web services for the Sametime Meeting Server, automatically load balancing meeting sessions to backend clustered Sametime Meeting Servers.
•
IBM Sametime Meeting Server provides various meeting services such as instant meeting and schedule meeting services. It connects to the IBM DB2® backend database for user policy verification and, based on that, provides privileges to users.
•
Sametime System Console (SSC) performs central administration of Meeting application components. All the changes related to configuration and policy are carried out on SSC first and are then synchronized to other components. An administrator can perform these tasks:
◦ Installation and configuration of meeting components
◦ Policy configuration for users
•
Primary/secondary DB2 Server is a repository system for maintaining all the configuration and policy details. The databases on the primary DB2 server are enabled to log every change made to the databases. Via a scheduled task the archive logs are transferred to the Disaster Recovery (DR) DB2 server, on which a full database backup is restored that is in “roll forward pending” state, meaning that it’s pending for changes to be applied.
The archive logs transferred from the primary DB2 server are applied on the DR DB2 server by use of the roll forward command, to sync it with the primary DB2.
•
Media Manager provides audio/video (A/V) services for the meeting application. Users can have A/V-enabled meetings with a headphone, microphone, and Web cam.
•
Domino LDAP Server is used for directory services to authenticate users.
•
Domino HTTP Server used for Web page development is used for the actual custom application development and hosts the landing pages. When users access the meeting URL through load balancer, it first hits this Domino Web page. Scheduled agents are running on the Domino database residing on this server that creates URL links for meetings. For rescheduling the meetings, users will access the same custom application Web page and, when accessing the direct meeting link, they will hit the actual Meeting Proxy Server.
The solution architecture is designed with SSO for seamless traversing between Domino HTTP server and WebSphere Application Server while using the meeting services.
Application development
Figure 4 illustrates the application architecture with the various development components used for this solution.
Figure 4. Application development architecture
Custom Login Page
The Meeting Center Web interface Log-in page is designed for both internal and external users to schedule and attend a meeting. Figure 5 shows that an internal user must select the Log In radio button, enter their username and password, and select either the Schedule or Attend radio button.
Figure 5. Application Log-in page for internal user
After entering the log-in credentials, if an internal user selects Schedule, this page will redirect them to the Meeting Center interface – Landing page. If the user selects Attend, the Meeting ID field will display for entering the meeting Id that was received in the email after the meeting was scheduled.
For a valid meeting, the Sign In button is visible and upon clicking the button, the user is redirected to the Sametime Meeting interface (Web or client, depending on the Sametime Client preferences) to attend the meeting. We have gained this ability by enabling SSO between the Domino Server and Sametime Meeting (WebSphere) Server.
Figure 6 shows that external users must select “Enter as Guest” and then enter the Display name and Meeting ID. Only after entering a valid meeting ID will the Sign In button be visible. Upon clicking the button the user is redirected to Sametime Meeting Web interface to attend the meeting.
Figure 6. Application Log-in page for external user
Meeting Center Web Interface – Landing page
The Meeting Center Web interface (see figure 7) is a Notes-based Web application built by use of XPages (new and improved Web capability provided by Lotus Notes 8.5). This application provides different views for internal users to see their scheduled meetings. It also allows users to search for a particular meeting and perform various actions like updating, rescheduling, adding new invites, and cancelling meetings.
Figure 7. Meeting Center landing page
Meeting Center Web interface – Schedule meeting page (with/without repeat option)
Figure 8 shows the Meeting Center Schedule meeting page.
Figure 8. Schedule Meeting page
Meeting Center Web interface – Scheduled meeting view
Figure 9 shows the custom application scheduled meeting view.
Figure 9. Custom Application Web interface – Scheduled meeting view
Meeting Center Web interface – Rescheduled meeting page
Figure 11 shows the rescheduled meeting page.
Figure 11. Rescheduled meeting page
Figure 12 shows the meeting with invitees and repeat option.
Figure 12. Schedule Meeting with invitees & repeat option
When you save a new meeting the system sends an email to the invitees with meeting details and the ICS file. Invitees will import this ICS file to enter this meeting into their respective mailing client’s calendar.
Sametime Meeting interface – Attend Meeting
Figure 13 shows the Attend Meeting page.
Figure 13. Attend Meeting page
Java API (Sametime 8.5.2 Remote Client SDK)
A new Java library on the Domino Server connects to the Sametime Meeting Server, using the Sametime Meeting 8.5.2 SDK. The Sametime Meetings Server 8.5.2 is based on Representational State Transfer (REST) full Web services functionality.
The IBM Remote Client toolkit provides a clean Java wrapper around the meeting management REST API's, making it easy for customers and partners to integrate and build applications against the 8.5.2 server. The functionality exposed is currently limited only to Meeting services—creating, editing, updating, searching, and deleting meetings.
Sametime 8.5.2 SDK has the ability to use meeting services for common end users services, such as creating, deleting, searching for, and attending meeting, and for administrator services such as creating meetings on behalf of other users, deleting other users' meetings, searching meetings, and various other activities that can be performed as the administrator on Sametime Meeting Server.
In this library we have used the Administration User ID and password to create meetings on behalf of other users. The Meeting Chair in this case skips re-authenticating users on both the Domino and Meeting servers.
Scheduled agents
Create Meeting
The Create Meeting scheduled agent runs daily on the Domino server to read only those meetings that are scheduled for the next day and creates meetings on the Sametime Meeting Server one day prior to the scheduled date. This scheduled agent sends an email to all participants with the meeting ID, password, and URL to access the meeting.
It takes the input details such as the meeting's name, description, password, and host name to create a corresponding meeting in the Sametime Meeting Server. It also creates a Meeting object, using the Java API, and passes this as an argument to the Create Meeting function, which then logs in to the Sametime Meeting Server with the Admin user's ID and password taken from the Configuration document and creates the meeting.
After the meeting is created, the Meeting object is updated with the meeting ID and URL. The agent then reads this Meeting ID and URL and sends an email notification to all participants with the relevant details (recall figure 8, the scheduled meetings Web page).
Delete Meeting
The Delete Meeting agent runs daily, reading meetings that are completed, and deletes the corresponding meetings from the Sametime Meeting Server. This agent is scheduled to run every 5 hours, reading the meetings that are passed the end date/time by 5 hours, and deletes them. This provides a 5-hour window to participants in case they wish to extend the meeting.
It takes the details, such as meeting ID and host name, and passes these as arguments to the Delete Meeting function, which then logs in to the Sametime Meeting Server with the Admin user's ID and password taken from Meeting Configuration document and deletes the meeting.
Additional application details
Web service
Web service is created to provide the ability for third-party applications to use the meeting service actions of scheduling, updating, and deleting meetings through Web services.
Policies
There are policies that can be set for internal and external (guest) users on Sametime Meeting Server to provide abilities like document sharing, application sharing, desktop sharing, remote control of user’s machine, etc. These policies must be set up to control users operations within the meeting interface.
Application testing
After development of the application, unit, system, and performance testing was carried out. The performance test was carried out for 1000 users, and application testing was carried out in different scenarios such as:
- Internal users accessing from the Sametime Connect Client and from a Web client from an intranet.
- Internal users accessing from the Sametime Connect Client and from a Web client from the Internet.
- External users accessing from the Internet.
- Users accessing from a Blackberry Client
Application monitoring and reporting
We developed automated scripts to perform daily application reporting activity. This is a Notes agent (executable program) residing on the Meeting Center Application that writes the reports to a Notes database. The report captures the following usage statistics:
- Total log-ins
- Unique users
- Total meetings created
- Total meetings updates
- Total meetings cancelled
- Total meetings completed
Application security
We followed internal standard security policies while developing this application. Restricting anonymous access to Domino applications enabled authenticated users to use the Meeting Center application and restricted unauthorized access to the internal network. Security policies were set on Sametime Meeting Servers for both internal and external users to attend meetings and to ensure controlled user actions.
Future possibilities
Extend the custom application interface usability for hand-held devices.
Application benefits
- Cost savings: This application reduces the need to use third-party service licenses.
- Infrastructure resources savings: Since persistent meeting rooms are not created for all users, it optimizes the use of the infrastructure and licenses, for both server and network.
- Increased productivity: External participation in Web conferencing increases productivity in that you can arrange frequent meetings with long-distance customers or colleagues. Also, there is improved Return on Investment over companies who conduct business face-to-face.
Tell us what you think
Please visit this link to take a one-question survey about this article:
Resources
IBM Sametime Meetings Remote Client SDK:
http://www.ibm.com/developerworks/lotus/downloads/Sametime_remote_client_sdk.html#download
IBM Lotus Sametime 8.5 Information forum:
http://publib.boulder.ibm.com/infocenter/sametime/v8r5/index.jsp?topic=%2Fcom.ibm.help.sametime.v85.doc%2Fwelcome_85.html
IBM Sametime developer work forum:
http://www-10.lotus.com/ldd/stforum.nsf/CategoryAllThreadedWeb?OpenView&Start=1&Count=100&Expand=12#12
IBM Lotus Notes and Domino application development Wiki for XPages development:
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Tutorial-intro-to-XPages.htmAbout the authors
Jayant Nikhare has eight years of experience in Lotus Notes development and support. He currently works for Tata Consultancy Services Ltd. (TCS), collaborating in plugin development for IBM Sametime and Notes development for the past 1.5 years. His responsibilities include effort estimations, Proof of Concepts, project delivery, and coordinating with different stakeholders, including IBM (TCS Technology Partner) for PMR resolution. You can reach him at
jayant.nikhare@tcs.com.
Rohini Nalawade has eight years of experience with supporting Lotus Notes. In her TCS role as Collaboration Server Administrator, she designs, installs, administers, and optimizes Sametime Application Servers and performance improvement initiatives for various business applications. Her responsibilities include effort estimations, Proof of Concepts, project delivery, and coordinating with various stakeholders, including IBM (TCS Technology Partner) for PMR resolution. You can reach her at
rohini.nalawade@tcs.com.
Kamna Puri is an IBM Social Business Consultant with 10 years of IT experience with TCS. Her core competencies include product and solution consulting and administration, solution architecting, project and program management, and presales and process consulting. She has over eight years of extensive experience with collaboration products such as Lotus Notes and Domino, Sametime, WebSphere Portal Server, DB2, and Microsoft (MS) SharePoint 2007. She is an IBM Certified Lotus Professional and an MS Certified Technology Specialist in SharePoint Server (MOSS) 2007, ITIL V3. You can reach her at
Kamna.puri@tcs.com.